$(function () {
    //定义一个对象
    let params = {
        key: "",	//搜索关键词，可以为空，为空返回某类型所有文章
        type: "",	//文章类型id，可以为空，为空返回所有类型文章
        state: "",	//文章状态，草稿 ，已发布, 为空返回所有状态文章
        page: "",	//当前页，为空返回第1页
        perpage: "10",	//每页显示条数，为空默认每页6条
    }
    //声明一个变量为请求返回的数据总条数赋值
    let totalCount = 0
    //定义一个有名函数来提取分类下拉框
    function getArticleCategory() {
        //发送请求
        $.get('/admin/category/list', function (res) {
            //拼接结构
            let html = ` <option value="">所有分类</option>`
            res.data.forEach(item => {
                html += `<option value="${item.id}">${item.name}</option>`
            });
            $('#selCategory').html(html)
        })
    }
    //定义一个函数请求数据渲染页面
    function getArticleList() {
        $.get('/admin/article/query', params, function (res) {
            //模态框渲染
            const list = res.data.data
            const html = template('tableTpl', { list })
            $('.table-hover tbody').html(html)
            // console.log(res.data.totalCount);
            //赋值数据总条数
            totalCount = res.data.totalCount
            //调用分页框的封装函数
            renderPager()
        })
    }
    //筛选添加点击事件
    $('#btnSearch').on('click', function () {
        //重置请求页面为空,让请求重第一页开始筛选
        params.page = ''
        // 获取筛选条件框的值
        params.key = $('#aname').val().trim()
        params.type = $('#selCategory').val()
        params.state = $('#selStatus').val()
        // console.log(params.ket, params.type, params.state)
        // 调用函数渲染页面
        getArticleList()
    })
    // 给重置添加点击事件
    $('#reset').on('click', function () {
        //重置请求页面为空
        params.page = ''
        // 将所有筛选条件框清空
        $('#aname').val('')
        $('#selCategory').val('')
        $('#selStatus').val('')
        //将筛选条件设置为空
        params.key = ''
        params.type = ''
        params.state = ''
        // console.log(params.ket, params.type, params.state)
        // 调用函数渲染页面
        getArticleList()
    })
    // 封装分页插件函数
    function renderPager() {
        layui.laypage.render({
            elem: 'pager',
            count: totalCount, // 数据的总条数 
            limit: params.perpage,
            // 定义当前页面为几,防止分页再次错误渲染
            curr: params.page,
            jump(obj, first) {
                // 被点击的页数
                if (!first) {
                    // 给全局参数赋值
                    params.page = obj.curr;
                    // 重新发送一次请求获取对应页码数据
                    getArticleList();
                    // 存在bug 每一次点击 页码都重新变回1  
                }
            }
        });
    }
    //给删除做点击事件
    $('.table-hover').on('click', '.delete', function () {
        layer.confirm('您确定要删除吗?', { title: '提示' }, (index) => {
            //声明常量赋值id
            const id = $(this).data('id')
            // 发送请求post请求
            $.post('/admin/article/delete', { id }, function (res) {
                //提示框
                layer.msg('删除成功');
                //更新数据渲染页面
                getArticleList()
            })
        })
    })


    getArticleCategory()
    getArticleList()

})